package com.kaifamiao.iterator;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class IteratorTest2 {

	public static void main(String[] args) {
		
		Collection<String> c = new ArrayList<>();
		c.add( "唐长老" );
		c.add( "孙悟空" );
		c.add( "白龙马" );
		c.add( "猪长老" );
		c.add( "沙和尚" );
		
		System.out.println( c );
		
		Iterator<String> it = c.iterator();
		
		while( it.hasNext() ) {
			String name = it.next();
			System.out.println( name );
			if( "孙悟空".equals( name ) ) {
				// 在使用迭代器迭代集合时，如果使用集合本身的方法修改集合则会抛出异常
				// c.remove( name ); // java.util.ConcurrentModificationException
				// 正确的删除方法应该时通过迭代器来删除当前获取到的元素
				it.remove();
			}
		}
		
		System.out.println( c );

	}

}
